Information used by programmable computers, including data and executable programs, are typically stored on some form of memory device. Each type of known memory storage device presents the user with certain trade-offs regarding cost, speed of information retrieval, and capacity. For instance, electronic memory devices, such as random access memory (RAM), typically offer the user relatively fast data access. This high-speed data access, however, may fall short in connection with maximum storage capacity and cost considerations. Magnetic recording media, including tapes, diskettes, and magnetic hard drives, present the user with somewhat slower access times, but are relatively more cost effective than large electronic storage methodologies.
In order to transfer computer programs and data, many users, including software developers and purveyors, have traditionally shipped those programs and data on magnetic diskettes. These diskettes are typically inexpensive to procure, but have limited data storage capabilities. Large computer programs, for instance, which are shipped on magnetic media, typically require many diskettes to store an entire program or data set. The cost of recording many diskettes for each program sold is a cost factor that must be considered by a software developer or purveyor.
In order to alleviate the foregoing limitations of storage capacity per diskette, the use of compact disk (CD) or digital video data (DVD) technology has gained wide acceptance in the software industry. For example, where a single 3.5″ magnetic floppy diskette is capable of holding typically a maximum of 1.44 Mbytes, a single CD can typically hold upwards of 600 Mbytes of information. The previously discussed trade offs still apply, however, in that while CD or DVD production is very cost effective and the devices themselves hold large amounts of data, the access time to that data is typically slower than that encountered on magnetic hard drives and relatively slower than data retrieval from electronic storage means.
One known practice to attempt alleviate the foregoing issues has been to use compression utilities to produce compressed software packages. The desired result is providing faster installation speed and smaller storage media. While the theoretical advantages of using compressed packages for an initial software installation may be apparent, in practice the compression techniques used in these software packages may be rather complicated, and the utility that installs the compressed software may require special tools that add cost and incremental delays in order to decode the compressed software to a baseline configuration. In some situations, the installation tools use a relatively rigid format and may lack the capability of dealing with the addition of new data compression regarding installation objects.